This invention relates to the use of web proxy servers by internet clients and more particularly, to the use of multiple such proxies contemporaneously.
The internet includes many different types of servers which provide special services to clients in session therewith. Included in these servers are proxies which provide services to a user but which do so by establishing sessions with web servers and responding to internet data from those web servers. In effect, the client accesses the internet xe2x80x9cthroughxe2x80x9d a proxy which provides value added to the information accessed.
As used herein, the term xe2x80x9cinternetxe2x80x9d relates to any digital network giving a large number of users easy access to digital files of a variety of types. Thus the term includes the Internet of today as well as other types of digital networks.
One well known type of proxy server is the anonymity proxy, such as that available at www.lpwa.com. An anonymity proxy establishes a session with a client using the client""s IP address and user information and requests information from the internet without identifying the requesting client. Thus, the value added is the anonymity of the client. Another possible type of proxy is a language proxy which, at the request of a client, will search for information in a preselected language and/or provide translations of identified files. A third type of proxy might be an efficiency proxy to protect against the delays of internet usage sometimes referred to as the world wide wait. An efficiency proxy may contain a local cache for storing frequently accessed files and it may reduce the size of files actually transmitted on to the client.
To use a server proxy, which may be a fee service, the client contacts the proxy for subscription purposes and satisfies conditions such as filling in a form and/or agreeing to conditions. Based on the conditions, the proxy may then grant permission to the client for future use. Such permission grant may include setting a cookie client""s machine and/or providing a user name or password. Thereafter, the client accesses the proxy by sending the proxy""s URL to the internet along with permission data from the client. The proxy responds to the URL and permission data by providing its service to client communications.
Proxy servers at present provide several different types of internet services to a client. In the near future it is expected that many types of proxy servers will be available for client use. The proxy services, however, can only be accessed one at a time. That is, only one proxy can be used by a client for a given communication session. What is needed in the art is a method of allowing the client to contemporaneously establish sessions through a plurality of proxies so that multiple proxy services may be used for the same communication.
The need in the art is met and a technical advance is achieved in accordance with the present invention. A proxy chaining method is described which includes initiating by a client a session with a first proxy server via the internet. The first proxy server receives as a part of the session communication, the identity at least a second proxy server and permission data to permit service to the client by the second proxy. After optional client authentication, the first proxy establishes a session with the identified second proxy server using the permission information from the client. After establishing sessions between the client, first proxy server and second proxy server, the client can access the internet by sending URLs through the chained first and second proxies. Should a third proxy be desired as a part of the chain of proxy servers, the client will initially identify such to the first proxy server and the first proxy server will establish a session with the third proxy via the second proxy server.
Advantageously, the first proxy, upon contact from the client, transmits an applet to the client which provides a GUI interface for the client to enter his or her permission and identification data such as login name and password. The applet may also read previously prepared proxy and client permission information from the client computer and populate appropriate text windows on the GUI interface. Further, the applet may read from the client computer certain session information, such as cookies, relating to communication between the identified proxies and the client. The session information then becomes a part of the permission data sent on to the proxies for later permission.
A first proxy server equipped to provide chaining services will receive a request from a client and in response thereto return an applet to the client computer for execution. The first proxy then receives the identities of further proxy servers and permission data associated with those proxy servers from the applet by establishing sessions with the additional proxy servers in sequence. After the establishment of proxy sessions the client can surf the web through the established chain of proxy servers.